大富翁

問題描述
有一條環形棋盤,共有 N 格,每一格上都標示著金錢變化,可能是「獲得金錢」(正值)、「失去金錢」(負值)或「沒有變化」(0)。
題目說明
玩家一開始站在第 1 格,起始金額為 0。 接著依序輸入骰子點數,代表玩家往前移動的步數。 每次移動後,落在的新格子會立即結算金錢變化。 若該格需要失去金錢,但玩家的金額不足,則只會扣到 0 元,不會變成負數。 棋盤是環形的,當超過第 N 格時,會回到第 1 格繼續往前走。 注意:玩家剛開始站在第 1 格時,不會結算金額,只有移動後才會結算。 請計算所有骰子點數執行完畢後,玩家的最終金額。 輸入格式 第一行:整數 N,代表棋盤的格數。 第二行:輸入 N 個整數,依序代表第 1 格到第 N 格的金錢變化。 第三行:整數 M,代表骰子的次數。 第四行:輸入 M 個整數,代表每次骰到的點數。 輸出格式:輸出一個整數,代表玩家最後的金額。
範例格式
使用者輸入輸出範例說明
5
10 -5 0 20 -10
3
1 2 3
15起始在第 1 格,金額 0
走 1 → 到第 2 格(-5):扣到 0 → 金額 0
走 2 → 到第 4 格(+20):金額 20
走 3 → 從第 4 格往前 3 步 → 到第 2 格(-5):20 → 15
最終金額 = 15
4
50 -20 10 -5
4
4 1 1 1
35起始在第 1 格,金額 0
走 4 → 到第 1 格:+50 → 50
走 1 → 到第 2 格:-20 → 30
走 1 → 到第 3 格:+10 → 40
走 1 → 到第 4 格:-5 → 35
最終金額 = 35
3
-10 5 -5
2
1 2
0起始在第 1 格,金額 0
走 1 → 到第 2 格(+5)→ 金額 5
走 2 → 到第 1 格(-10)→ 扣到0
最終金額 = 0
2
50 -30
2
6 6
100起始在第 1 格,金額 0
第一次骰 6:
從第 1 格往前走 6 步,棋盤只有 2 格,所以繞了 3 圈又回到第 1 格
結算:+50 → 金額 50
第二次骰 6:
再往前走 6 步,同樣繞了 3 圈又回到第 1 格
結算:+50 → 金額 100
最終金額 = 100





bDesigner

Privacy
...   JavaScript   Python   XML